namespace Light
{
    public enum FunctionBarType
    {
        Map,
        Quest,
        Goods,
        Skill,
        BluePrint
    }

    //��ÿ��functionBar�������򻮷�ʹ��
    public enum FunctionBarContentType
    {
        GoodsScrollView, //goods���е�Item�б�
        GoodsItemEuqip, //goods���е�Itemװ���б�
        SkillsBarView //skills���пɽ��������ѽ��������б�
    }


    public enum FunctionBarOperationType
    {
        Init,
        Add,
        Delete,
        Change,
        Update
    }

    public abstract class FunctionBarData
    {
        //��ʾ�ö����������ĸ���������
        public FunctionBarType BarType;
    }

    public class GoodsBarData : FunctionBarData
    {
        /// <summary>
        ///     ���������
        ///     <para>Ĭ�ϳ��е�������1</para>
        /// </summary>
        public int count = 1;

        //ֱ��ʹ����SO�д洢�Ķ����ʽ
        public AbstractItemSO data;

        /// <summary>
        ///     ��ʾ�����������ĸ�Tag
        /// </summary>
        public ItemType type;
    }

    public class SkillsBarData : FunctionBarData
    {
        public AbstractItemSO data;

        /// <summary>
        ///     ��ʾ�����������Ǹ�Tag
        /// </summary>
        public ItemType type;
    }


    /// <summary>
    ///     װ�����ܹ���
    /// </summary>
    public class StatusBarPanel : BasePanel
    {
        public BasePanel mapPanel;
        public BasePanel questPanel;
        public BasePanel goodsPanel;
        public BasePanel skillPanel;

        private void Awake()
        {
            goodsPanel = transform.Find("MainBar/Goods").GetComponent<BasePanel>();
            skillPanel = transform.Find("MainBar/Skill").GetComponent<BasePanel>();
        }

        public override void Init()
        {
        }

        /// <summary>
        ///     UI�����Ҫ��ʾ������
        /// </summary>
        public void ChangeData()
        {
        }

        public override void ReOpen()
        {
            //����Ĭ��֪ͨ
            goodsPanel.ReOpen();
        }
    }
}